package tt.dz.entity.charger;

import java.io.Serializable;
import java.util.Date;

import tt.dz.util.annotation.PrimaryKey;
import tt.dz.util.annotation.Table;

/**
 * 预约记录表
 * 
 * @author xielongfei
 */
@Table(name = "oms_charger_bespeak_bill_record")
public class OmsChargerBespeakBillRecord implements Serializable {

	/**
	 * 串行版本
	 */
	private static final long serialVersionUID = 5180989832504495846L;
	/** 用户 卡号 */
	private String user_pay_card;
	/** 预约开始时间 */
	private Date start_time;
	/** 电站id */
	private String station_id;
	/** 电桩号 */
	private String charger_id;
	/** 预约预计结束时间 */
	private Date estimate_end_time;
	/** 预约实际结束时间 */
	private Date actual_end_time;
	private String duration;//预约时长：以时分秒来表示

	private Float bespeak_deal_before;
	/** 最终预约结算费用 */
	private Float bespeak_deal_charge;
	/** 1: 完成\r\n 0: 未完成 */
	private Integer is_done;
	//端口序号:充电口号, 从0开始
	private Integer port_no;

	private String order_no;
	
	/**
	 * 操作流水号:如果2.0中AS生成发给OMS，就存在OMS中；如果不存，则OMS自动根据时间电桩地址和其他规则生成；此字段用来关联充电费用记录。
	 * 0000000000为非真实数据。
	 */
	@PrimaryKey
	private String bespeak_jrnl;
	//18位  下发报文开始预约流水号:格式为:YYYY-MM-DD-HH-MI-SS加上四位序号 例如：0x20 0x15 0x05 0x10 0x21 0x45 0x34,0x00,0x00表示2015年5月10日21点击5分34秒第一个流水号（同一时刻自增）
	private String oms_msg_bespeak_jrnl;
	//18位  下发报文开始预约流水号:格式为:YYYY-MM-DD-HH-MI-SS加上四位序号 例如：0x20 0x15 0x05 0x10 0x21 0x45 0x34,0x00,0x00表示2015年5月10日21点击5分34秒第一个流水号（同一时刻自增）
	private String oms_msg_bespeak_end_jrnl;
	/*
	 * 0：预约已下发
	1：预约已回复但桩状态未改变
	2：桩状态已为预约中
	3：主动取消预约已下发
	4：被动取消预约已下发
	5 ：取消预约已回复但桩状态未改变
	6：此单最终取消预约变为空闲；
	7：此单最终为充电。
	 * */
	private Integer status;
	
	/** 1: 代表未删除\r\n 0: 代表已删除 */
	private Integer valid_flag;

	
	public OmsChargerBespeakBillRecord() {
		super();
	}

	public OmsChargerBespeakBillRecord(String bespeak_jrnl) {
		super();
		this.bespeak_jrnl = bespeak_jrnl;
	}

	public String getUser_pay_card() {
		return user_pay_card;
	}

	public void setUser_pay_card(String user_pay_card) {
		this.user_pay_card = user_pay_card;
	}

	public Date getStart_time() {
		return start_time;
	}

	public void setStart_time(Date start_time) {
		this.start_time = start_time;
	}

	public String getStation_id() {
		return station_id;
	}

	public void setStation_id(String station_id) {
		this.station_id = station_id;
	}

	public String getCharger_id() {
		return charger_id;
	}

	public void setCharger_id(String charger_id) {
		this.charger_id = charger_id;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public Date getEstimate_end_time() {
		return estimate_end_time;
	}

	public void setEstimate_end_time(Date estimate_end_time) {
		this.estimate_end_time = estimate_end_time;
	}

	public Date getActual_end_time() {
		return actual_end_time;
	}

	public void setActual_end_time(Date actual_end_time) {
		this.actual_end_time = actual_end_time;
	}

	public String getDuration() {
		return duration;
	}

	public void setDuration(String duration) {
		this.duration = duration;
	}

	public Float getBespeak_deal_charge() {
		return bespeak_deal_charge;
	}

	public void setBespeak_deal_charge(Float bespeak_deal_charge) {
		this.bespeak_deal_charge = bespeak_deal_charge;
	}

	public Integer getIs_done() {
		return is_done;
	}

	public void setIs_done(Integer is_done) {
		this.is_done = is_done;
	}

	public String getBespeak_jrnl() {
		return bespeak_jrnl;
	}

	public void setBespeak_jrnl(String bespeak_jrnl) {
		this.bespeak_jrnl = bespeak_jrnl;
	}

	public Integer getValid_flag() {
		return valid_flag;
	}

	public void setValid_flag(Integer valid_flag) {
		this.valid_flag = valid_flag;
	}

	public Integer getPort_no() {
		return port_no;
	}

	public void setPort_no(Integer port_no) {
		this.port_no = port_no;
	}

	public String getOms_msg_bespeak_jrnl() {
		return oms_msg_bespeak_jrnl;
	}

	public void setOms_msg_bespeak_jrnl(String oms_msg_bespeak_jrnl) {
		this.oms_msg_bespeak_jrnl = oms_msg_bespeak_jrnl;
	}

	public String getOms_msg_bespeak_end_jrnl() {
		return oms_msg_bespeak_end_jrnl;
	}

	public void setOms_msg_bespeak_end_jrnl(String oms_msg_bespeak_end_jrnl) {
		this.oms_msg_bespeak_end_jrnl = oms_msg_bespeak_end_jrnl;
	}

	@Override
	public String toString() {
		return "OmsChargerBespeakBillRecord [user_pay_card=" + user_pay_card + ", start_time=" + start_time
				+ ", station_id=" + station_id + ", charger_id=" + charger_id + ", estimate_end_time="
				+ estimate_end_time + ", actual_end_time=" + actual_end_time + ", duration=" + duration
				+ ", bespeak_deal_charge=" + bespeak_deal_charge + ", is_done=" + is_done + ", port_no=" + port_no
				+ ", bespeak_jrnl=" + bespeak_jrnl + ", oms_msg_bespeak_jrnl=" + oms_msg_bespeak_jrnl
				+ ", oms_msg_bespeak_end_jrnl=" + oms_msg_bespeak_end_jrnl + ", status=" + status + ", valid_flag="
				+ valid_flag + "]";
	}

	public String getOrder_no()
	{
		return order_no;
	}

	public void setOrder_no(String order_no)
	{
		this.order_no = order_no;
	}

	public Float getBespeak_deal_before()
	{
		return bespeak_deal_before;
	}

	public void setBespeak_deal_before(Float bespeak_deal_before)
	{
		this.bespeak_deal_before = bespeak_deal_before;
	}
}
